{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Finite State Machine Generator\n",
    "\n",
    "This notebook will show how to use the Finite State Machine (FSM) Generator to generate a state machine. The FSM we will build is a Gray code counter.  The counter has three state bits and can count up or down through eight states.  The counter outputs are Gray coded, meaning that there is only a single-bit transition between the output vector of any state and its next states. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 1: Download the `logictools` overlay"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "application/javascript": [
       "\n",
       "require(['notebook/js/codecell'], function(codecell) {\n",
       "  codecell.CodeCell.options_default.highlight_modes[\n",
       "      'magic_text/x-csrc'] = {'reg':[/^%%microblaze/]};\n",
       "  Jupyter.notebook.events.one('kernel_ready.Kernel', function(){\n",
       "      Jupyter.notebook.get_cells().map(function(cell){\n",
       "          if (cell.cell_type == 'code'){ cell.auto_highlight(); } }) ;\n",
       "  });\n",
       "});\n"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from pynq.overlays.logictools import LogicToolsOverlay\n",
    "\n",
    "logictools_olay = LogicToolsOverlay('logictools.bit')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "### Step 2: Specify the FSM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "fsm_spec = {'inputs': [('reset','D0'), ('direction','D1')],\n",
    "            'outputs': [('bit2','D3'), ('bit1','D4'), ('bit0','D5')],\n",
    "            'states': ['S0', 'S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7'],\n",
    "            'transitions': [['01', 'S0', 'S1', '000'],\n",
    "                            ['00', 'S0', 'S7', '000'],\n",
    "                            ['01', 'S1', 'S2', '001'],\n",
    "                            ['00', 'S1', 'S0', '001'],\n",
    "                            ['01', 'S2', 'S3', '011'],\n",
    "                            ['00', 'S2', 'S1', '011'],\n",
    "                            ['01', 'S3', 'S4', '010'],\n",
    "                            ['00', 'S3', 'S2', '010'],\n",
    "                            ['01', 'S4', 'S5', '110'],\n",
    "                            ['00', 'S4', 'S3', '110'],\n",
    "                            ['01', 'S5', 'S6', '111'],\n",
    "                            ['00', 'S5', 'S4', '111'],\n",
    "                            ['01', 'S6', 'S7', '101'],\n",
    "                            ['00', 'S6', 'S5', '101'],\n",
    "                            ['01', 'S7', 'S0', '100'],\n",
    "                            ['00', 'S7', 'S6', '100'],                            \n",
    "                            ['1-', '*',  'S0', '']]}   "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "__Notes on the FSM specification format__\n",
    "\n",
    "![](./images/fsm_spec_format.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 3: Instantiate the FSM generator object"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "fsm_generator = logictools_olay.fsm_generator"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "__Setup to use trace analyzer__   \n",
    "In this notebook trace analyzer is used to check if the inputs and outputs of the FSM.\n",
    "\n",
    "Users can choose whether to use the trace analyzer by calling the `trace()` method."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "fsm_generator.trace()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 5: Setup the FSM generator\n",
    "The FSM generator will work at the default frequency of 10MHz. This can be modified using a `frequency` argument in the `setup()` method."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "fsm_generator.setup(fsm_spec)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "__Display the FSM state diagram__   \n",
    "This method should only be called after the generator has been properly set up."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<IPython.core.display.Image object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fsm_generator.show_state_diagram()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "__Set up the FSM inputs on the PYNQ board__\n",
    "* Check that the reset and direction inputs are correctly wired on the PYNQ board, as shown below:\n",
    "    * Connect D0 to GND\n",
    "    * Connect D1 to 3.3V\n",
    "\n",
    "![](./images/fsm_wiring.png)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "__Notes:__\n",
    "    \n",
    "* The 3-bit Gray code counter is an up-down, wrap-around counter that will count from states 000 to 100 in either ascending or descending order    \n",
    "\n",
    "\n",
    "* The reset input is connected to pin D0 of the Arduino connector\n",
    "    * Connect the reset input to GND for normal operation \n",
    "    * When the reset input is set to logic 1 (3.3V), the counter resets to state 000\n",
    "    \n",
    "\n",
    "* The direction input is connected to pin D1 of the Arduino connector\n",
    "    * When the direction is set to logic 0, the counter counts down\n",
    "    * Conversely, when the direction input is set to logic 1, the counter counts up"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 6: Run and display waveform\n",
    "\n",
    "The ` run()` method will execute all the samples, `show_waveform()` method is used to display the waveforms"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div class=\"output_svg\"><img class=\"svg\" style=\"max-width: none\"src=\"\" alt=\"Image\"></img></div>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fsm_generator.run()\n",
    "fsm_generator.show_waveform()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Verify the trace output against the expected Gray code count sequence\n",
    "\n",
    "| State | FSM output bits: bit2, bit1, bit0        |\n",
    "|:-----:|:----------------------------------------:|\n",
    "| s0    | 000                                      |\n",
    "| s1    | 001                                      |\n",
    "| s2    | 011                                      |\n",
    "| s3    | 010                                      |\n",
    "| s4    | 110                                      |\n",
    "| s5    | 111                                      |\n",
    "| s6    | 101                                      |\n",
    "| s7    | 100                                      |\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Step 7: Stop the FSM generator\n",
    "Calling `stop()` will clear the logic values on output pins; however, the waveform will be recorded locally in the FSM instance."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "fsm_generator.stop()"
   ]
  }
 ],
 "metadata": {
  "anaconda-cloud": {},
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.0"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
